{{tag>Karmic Lucid cao mécanique}}
----

====== HeeksCAD ======

{{applications:heekscad_lucid_01.png?700}}

**HeeksCAD** est un logiciel de [[:CAO]] sous licence [[wpfr>Licence_BSD|BSD]] permettant la modélisation de pièces en 3D. Il est orienté vers le génie mécanique et la fabrication. Il possède une architecture modulaire permettant de lui ajouter des greffons tels [[http://code.google.com/p/heekscnc/|HeeksCNC]], [[http://code.google.com/p/heeksart/|HeeksArt]] et [[http://code.google.com/p/heekspython/|HeeksPython]]. Il vise à offrir éventuellement des fonctionnalités semblables à des logiciels propriétaires tels que CATIA, SolidWorks, Pro|Engineer, Autodesk Inventor ou Solid Edge.

Certaines de ses particularités:

   * la modélisation de solides est basée sur [[:OpenCascade]], et permet la création de solides par formes primitives ou par extrusion, révolution ou lissage à partir d'esquisses, les opérations booléennes, les chanfreins et les congés;
   * il exporte aux formats standards STEP, IGES, STL et DXF, et permet l'importation du DXF.
   * un solveur de contraintes géométriques permet de créer des dessins précis à partir d'esquisses rapides.

À noter que ce logiciel **est toujours en développement**, il ne doit donc pas être vu comme une solution à utiliser en contexte professionnel. Cependant, il s'agit d'un logiciel intéressant à tester, ou peut-être même suffira-t-il pour un usage personnel.

===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Disposer d'au moins 500 Mio d'espace disque, dont environ 300 Mio dans le Dossier personnel.

===== Installation manuelle =====

Il n'y a pas de paquet d'installation disponible. Il faut donc [[:tutoriel/compilation|compiler les sources]] depuis le site du projet. Si la procédure peut sembler intimidante, elle est relativement simple à accomplir si le [[:terminal]] ne vous fait pas peur.

==== Installer les dépendances ====

Il faut d'abord installer les bibliothèques nécessaires à la compilation, ainsi que les bibliothèques utilisées par le logiciel (notamment OpenCASCADE et wxWidgets). 

Dans un [[:terminal]], copiez-collez la ligne suivante:

  sudo apt-get install -y subversion libwxbase2.8-dev g++ build-essential libopencascade-dev libwxgtk2.8-dev libgtkglext1-dev python-dev cmake libboost-python-dev

Cette commande exige la saisie de votre mot de passe. L'installation pourrait prendre plusieurs minutes.

<note tip>L'option **-y** dans la commande ci-haut permet de répondre oui par avance aux demandes de confirmations.</note> 

==== Télécharger les sources ===

La commande suivante télécharge les sources du logiciel dans un dossier **HeeksCAD** sous votre Dossier personnel:

  cd ~
  svn checkout http://heekscad.googlecode.com/svn/trunk/ HeeksCAD

==== Compilation ====

Il faut maintenant changer de répertoire, puis exécuter la compilation et créer les liens dans les dossiers système:

  cd ~/HeeksCAD/src
  make clean
  make
  sudo make install

==== Configuration ====

Le logiciel est maintenant installé; toutefois, en raison d'une mauvaise configuration des sources, des liens vers l'exécutable et le raccourci-lanceur doivent être créés:

  sudo ln -s /usr/local/bin/HeeksCAD /usr/bin/HeeksCAD
  sudo ln -s /usr/local/share/heekscad/ /usr/share/heekscad

===== Installation par script automatisé =====

On peut reprendre les commandes précédentes et en faire un [[:script]] automatisé.

Copier-coller dans un [[:editeur_de_texte|éditeur de texte]] le texte suivant:

<code bash>#!/bin/sh
# heekscad-install.sh -- Downloads, builds and installs HeeksCAD from svn

BUILDPATH=~             # Location of HeeksCAD build dir
INSTALLPATH=/usr/local  # Location to install HeeksCAD
BUILDPREREQS="subversion libwxbase2.8-dev \
  build-essential libopencascade-dev libwxgtk2.8-dev \
  libgtkglext1-dev python-dev cmake libboost-python-dev"

# Install build prerequisites
sudo apt-get install -y $BUILDPREREQS

cd $BUILDPATH
if [ -d HeeksCAD ]; then
  cd HeeksCAD
  svn update
else
  svn checkout http://heekscad.googlecode.com/svn/trunk/ HeeksCAD
fi
cd ${BUILDPATH}/HeeksCAD/src
make
sudo make install

# Make menu entry find the binary
sudo ln -s ${INSTALLPATH}/bin/HeeksCAD /usr/bin/HeeksCAD
# Make HeeksCAD find the program icons
sudo ln -s ${INSTALLPATH}/share/heekscad/ /usr/share/heekscad</code>

Enregistrez-le dans votre Dossier personnel, puis lancez-le:

=== Lancer le script en terminal ===

Ouvrez un [[:terminal]] et saisissez la commande suivante :

  sh nom_du_script

<note tip>N'utilisez pas sudo, puisqu'alors le dossier HeeksCAD créé dans le Dossier personnel aura «root» comme propriétaire et groupe. </note>

=== Lancer le script par méthode graphique ===

  * Faites un clic droit sur le script, puis sélectionnez //Propriétés//; sous l'onglet //Permissions//, cochez //Autoriser l'exécution du fichier comme un programme//. Fermez la fenêtre.
  * Faites un double-clic sur le script, puis dans la fenêtre, cliquez sur //Lancer dans un terminal//.

<note tip>Soyez patient, le processus peut prendre plusieurs minutes (environ 15 minutes sur un PC avec processeur à double cœur).</note>

===== Utilisation=====

Lancez l'application depuis le menu //Applications -> Graphisme -> HeeksCAD// ou //via// la [[:commande_shell|commande]] suivante :

  HeeksCAD

<note tip>Portez attention à la casse, sinon la commande ne sera pas reconnue!</note>

===== Greffons =====
  * **(en) [[http://code.google.com/p/heekscnc/|HeeksCNC]]**, qui permet de créer des parcours d'outil et de générer un code de programmation lisible par les [[wpfr>Machine-outil_%C3%A0_commande_num%C3%A9rique|machines-outil à commande numérique]]
  * **(en) [[http://code.google.com/p/heeksart/|HeeksArt]]**, pour la création de surfaces complexes de type [[wpfr>Mesh_(Objet)|Mesh]] au moyen de courbes de Bézier
  * **(en) [[http://code.google.com/p/heekspython/|HeeksPython]]** ajoute une console en langage Python

===== Problèmes connus =====

==== Interface en français ====

Le logiciel s'installe par défaut en anglais. Il faut ici [[:compilation|compiler]] le fichier de traduction fourni. Cependant, en raison d'un oubli des développeurs, le fichier de compilation ne contient pas l'instruction nécessaire à l'installation du français. Il faut donc le modifier au préalable.
<note important>N'oubliez pas de fermer HeeksCAD avant de faire cette manipulation!</note>
Ouvrez dans un [[:editeur_de_texte|éditeur de texte]] le fichier **Makefile** qui se trouve dans /HeeksCAD/translations. Vous pouvez le faire en méthode graphique par votre [[:gestionnaire de fichiers]], ou par le [[:terminal]]:

  gedit ~/HeeksCAD/translations/Makefile

Ensuite, effacez son contenu pour le remplacer par le texte suivant:
<code make>
PREFIX=/usr/local
DATADIR=$(PREFIX)/share
LOCALEDIR=$(DATADIR)/locale
mkdir_p= mkdir -p
MSGFMT=msgfmt

OBJECTS=fr/HeeksCAD.mo
all: ${OBJECTS}

fr/HeeksCAD.mo: fr/HeeksCAD.po
	$(MSGFMT) -o $@ $?

clean:
	-rm ${OBJECTS}

install:
	$(mkdir_p) "$(DESTDIR)$(LOCALEDIR)/fr/LC_MESSAGES"
	cp fr/HeeksCAD.mo "$(DESTDIR)$(LOCALEDIR)/fr/LC_MESSAGES/"

uninstall:
	-rm "$(DESTDIR)$(LOCALEDIR)/*/LC_MESSAGES/HeeksCAD.mo"
</code>

Sauvegardez le document, puis fermez-le.

Ensuite, il reste à l'exécuter à l'aide de la commande make dans le terminal:
  cd ~/HeeksCAD/translations
  make clean
  make
  sudo make install

Voilà, au prochain lancement de l'application, l'interface de HeeksCAD sera en français.

==== Boutons manquants sous Ubuntu 10.04 et thème Ambiance ====

Sous Ubuntu 10.04 avec le thème par défaut Ambiance, la dernière icône de chacune des barre d'outils n'est pas affichée. On peut régler le problème de la façon suivante:
  * Aller dans le menu //Fenêtres -> Barre d'outils à gauche//; ceci a pour effet d'aligner toutes les barres d'outils à la gauche de la fenêtre, et de les afficher correctement;
  * Replacer les barres d'outils dans le haut de la fenêtre à l'aide de la souris.

//(Source: [[http://code.google.com/p/heekscad/issues/detail?id=270|Issue 270]])//

==== Fonctions inopérantes ====

Il est possible que certaines fonctions soient inopérantes (outil extrusion, importation STEP, sauvegarde) après l'installation à l'aide du script automatisé. Dans ce cas, essayez de réinstaller manuellement en suivant les étapes [[heekscad#Télécharger les sources]] et [[heekscad#Compilation]]. Il n'est pas nécessaire de répéter l'étape de configuration.

===== Mise à jour =====

Le logiciel HeeksCAD est en développement constant. L'équipe de développeurs en modifient le code presque à chaque semaine, pour corriger des bogues ou ajouter des fonctionnalités. Il peut donc être intéressant de mettre à jour le logiciel.

Cette mise à jour se fait simplement en répétant les étapes de l'installation manuelle, [[heekscad#Télécharger les sources]] et [[heekscad#Compilation]].

===== Désinstallation =====

Pour supprimer cette application, Il suffit de supprimer le dossier **HeeksCAD** qui se trouve dans le Dossier personnel.

On peut également [[:tutoriel/comment_supprimer_un_paquet|supprimer les bibliothèques]] qui ne sont plus utiles. Dans un [[:terminal]]:

  sudo apt-get remove subversion libwxbase2.8-dev build-essential libopencascade-dev libwxgtk2.8-dev libgtkglext1-dev python-dev cmake libboost-python-dev

FIXME //(pour désinstallation nette, autres fichiers à supprimer?)//

===== Voir aussi =====

  * **(en)** [[http://code.google.com/p/heekscad/|Site officiel du projet]]
  * **(en)** [[http://groups.google.com/group/heekscad-users|Groupe de discussion des utilisateurs de HeeksCAD]]
  * **(fr)** [[http://www.linuxgraphic.org/forums/viewforum.php?f=41|Didacticiels et forum sur LinuxGrapic.org]]
  * [[:FreeCAD]], //un logiciel similaire//
  * //Basé sur [[http://code.google.com/p/heekscad/wiki/UbuntuInstallation|« How to build and install HeeksCAD »]] du site officiel.//


----
//Contributeur principal : [[:utilisateurs:Gemnoc]].//

